<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 
 * Class Novel
 *
 * @since 2.0
 *
 * @Entity(table="novel")
 */
class Novel extends Model
{
    /**
     * 
     *
     * @Column(name="add_time", prop="addTime")
     *
     * @var int|null
     */
    private $addTime;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $author;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $cid;

    /**
     * 
     *
     * @Column(name="click_count", prop="clickCount")
     *
     * @var int|null
     */
    private $clickCount;

    /**
     * 
     *
     * @Column(name="collect_count", prop="collectCount")
     *
     * @var int|null
     */
    private $collectCount;

    /**
     * 封面图片
     *
     * @Column()
     *
     * @var string|null
     */
    private $cover;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $description;

    /**
     * 0免费，1 vip会员专享
     *
     * @Column()
     *
     * @var int|null
     */
    private $free;

    /**
     * 
     *
     * @Column(name="is_new", prop="isNew")
     *
     * @var int|null
     */
    private $isNew;

    /**
     * 
     *
     * @Column(name="is_recommend", prop="isRecommend")
     *
     * @var int|null
     */
    private $isRecommend;

    /**
     * 0：显示，1隐藏
     *
     * @Column(name="is_show", prop="isShow")
     *
     * @var int|null
     */
    private $isShow;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $keywords;

    /**
     * 
     *
     * @Column(name="last_section", prop="lastSection")
     *
     * @var int|null
     */
    private $lastSection;

    /**
     * 
     *
     * @Column(name="last_section_title", prop="lastSectionTitle")
     *
     * @var string|null
     */
    private $lastSectionTitle;

    /**
     * 
     *
     * @Column(name="last_update", prop="lastUpdate")
     *
     * @var int|null
     */
    private $lastUpdate;

    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $nid;

    /**
     * 
     *
     * @Column(name="origin_id", prop="originId")
     *
     * @var int|null
     */
    private $originId;

    /**
     * 
     *
     * @Column(name="recommend_count", prop="recommendCount")
     *
     * @var int|null
     */
    private $recommendCount;

    /**
     * 
     *
     * @Column()
     *
     * @var int|null
     */
    private $sort;

    /**
     * 0连载中，1已完结
     *
     * @Column()
     *
     * @var int|null
     */
    private $status;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $tag;

    /**
     * 
     *
     * @Column()
     *
     * @var string
     */
    private $title;

    /**
     * 
     *
     * @Column(name="total_words", prop="totalWords")
     *
     * @var int|null
     */
    private $totalWords;


    /**
     * @param int|null $addTime
     *
     * @return void
     */
    public function setAddTime(?int $addTime): void
    {
        $this->addTime = $addTime;
    }

    /**
     * @param string|null $author
     *
     * @return void
     */
    public function setAuthor(?string $author): void
    {
        $this->author = $author;
    }

    /**
     * @param string|null $cid
     *
     * @return void
     */
    public function setCid(?string $cid): void
    {
        $this->cid = $cid;
    }

    /**
     * @param int|null $clickCount
     *
     * @return void
     */
    public function setClickCount(?int $clickCount): void
    {
        $this->clickCount = $clickCount;
    }

    /**
     * @param int|null $collectCount
     *
     * @return void
     */
    public function setCollectCount(?int $collectCount): void
    {
        $this->collectCount = $collectCount;
    }

    /**
     * @param string|null $cover
     *
     * @return void
     */
    public function setCover(?string $cover): void
    {
        $this->cover = $cover;
    }

    /**
     * @param string|null $description
     *
     * @return void
     */
    public function setDescription(?string $description): void
    {
        $this->description = $description;
    }

    /**
     * @param int|null $free
     *
     * @return void
     */
    public function setFree(?int $free): void
    {
        $this->free = $free;
    }

    /**
     * @param int|null $isNew
     *
     * @return void
     */
    public function setIsNew(?int $isNew): void
    {
        $this->isNew = $isNew;
    }

    /**
     * @param int|null $isRecommend
     *
     * @return void
     */
    public function setIsRecommend(?int $isRecommend): void
    {
        $this->isRecommend = $isRecommend;
    }

    /**
     * @param int|null $isShow
     *
     * @return void
     */
    public function setIsShow(?int $isShow): void
    {
        $this->isShow = $isShow;
    }

    /**
     * @param string|null $keywords
     *
     * @return void
     */
    public function setKeywords(?string $keywords): void
    {
        $this->keywords = $keywords;
    }

    /**
     * @param int|null $lastSection
     *
     * @return void
     */
    public function setLastSection(?int $lastSection): void
    {
        $this->lastSection = $lastSection;
    }

    /**
     * @param string|null $lastSectionTitle
     *
     * @return void
     */
    public function setLastSectionTitle(?string $lastSectionTitle): void
    {
        $this->lastSectionTitle = $lastSectionTitle;
    }

    /**
     * @param int|null $lastUpdate
     *
     * @return void
     */
    public function setLastUpdate(?int $lastUpdate): void
    {
        $this->lastUpdate = $lastUpdate;
    }

    /**
     * @param int $nid
     *
     * @return void
     */
    public function setNid(int $nid): void
    {
        $this->nid = $nid;
    }

    /**
     * @param int|null $originId
     *
     * @return void
     */
    public function setOriginId(?int $originId): void
    {
        $this->originId = $originId;
    }

    /**
     * @param int|null $recommendCount
     *
     * @return void
     */
    public function setRecommendCount(?int $recommendCount): void
    {
        $this->recommendCount = $recommendCount;
    }

    /**
     * @param int|null $sort
     *
     * @return void
     */
    public function setSort(?int $sort): void
    {
        $this->sort = $sort;
    }

    /**
     * @param int|null $status
     *
     * @return void
     */
    public function setStatus(?int $status): void
    {
        $this->status = $status;
    }

    /**
     * @param string|null $tag
     *
     * @return void
     */
    public function setTag(?string $tag): void
    {
        $this->tag = $tag;
    }

    /**
     * @param string $title
     *
     * @return void
     */
    public function setTitle(string $title): void
    {
        $this->title = $title;
    }

    /**
     * @param int|null $totalWords
     *
     * @return void
     */
    public function setTotalWords(?int $totalWords): void
    {
        $this->totalWords = $totalWords;
    }

    /**
     * @return int|null
     */
    public function getAddTime(): ?int
    {
        return $this->addTime;
    }

    /**
     * @return string|null
     */
    public function getAuthor(): ?string
    {
        return $this->author;
    }

    /**
     * @return string|null
     */
    public function getCid(): ?string
    {
        return $this->cid;
    }

    /**
     * @return int|null
     */
    public function getClickCount(): ?int
    {
        return $this->clickCount;
    }

    /**
     * @return int|null
     */
    public function getCollectCount(): ?int
    {
        return $this->collectCount;
    }

    /**
     * @return string|null
     */
    public function getCover(): ?string
    {
        return $this->cover;
    }

    /**
     * @return string|null
     */
    public function getDescription(): ?string
    {
        return $this->description;
    }

    /**
     * @return int|null
     */
    public function getFree(): ?int
    {
        return $this->free;
    }

    /**
     * @return int|null
     */
    public function getIsNew(): ?int
    {
        return $this->isNew;
    }

    /**
     * @return int|null
     */
    public function getIsRecommend(): ?int
    {
        return $this->isRecommend;
    }

    /**
     * @return int|null
     */
    public function getIsShow(): ?int
    {
        return $this->isShow;
    }

    /**
     * @return string|null
     */
    public function getKeywords(): ?string
    {
        return $this->keywords;
    }

    /**
     * @return int|null
     */
    public function getLastSection(): ?int
    {
        return $this->lastSection;
    }

    /**
     * @return string|null
     */
    public function getLastSectionTitle(): ?string
    {
        return $this->lastSectionTitle;
    }

    /**
     * @return int|null
     */
    public function getLastUpdate(): ?int
    {
        return $this->lastUpdate;
    }

    /**
     * @return int
     */
    public function getNid(): ?int
    {
        return $this->nid;
    }

    /**
     * @return int|null
     */
    public function getOriginId(): ?int
    {
        return $this->originId;
    }

    /**
     * @return int|null
     */
    public function getRecommendCount(): ?int
    {
        return $this->recommendCount;
    }

    /**
     * @return int|null
     */
    public function getSort(): ?int
    {
        return $this->sort;
    }

    /**
     * @return int|null
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return string|null
     */
    public function getTag(): ?string
    {
        return $this->tag;
    }

    /**
     * @return string
     */
    public function getTitle(): ?string
    {
        return $this->title;
    }

    /**
     * @return int|null
     */
    public function getTotalWords(): ?int
    {
        return $this->totalWords;
    }

}
